tests: Fix regex escaping in test-summary-view.sh
authorPhilip Withnall <withnall@endlessm.com>
Mon, 8 May 2017 15:04:26 +0000 (16:04 +0100)
committerAtomic Bot <atomic-devel@projectatomic.io>
Mon, 8 May 2017 17:36:33 +0000 (17:36 +0000)
There were some regex special characters in the pattern strings, which I
think were causing the test to fail on some Travis builds due to using
an invalid regex.

Fix that by matching using fixed strings instead. We don’t need regexes
here. Use a new assert_file_has_content_literal to do that for us.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
Closes: #838
Approved by: cgwalters

tests/libtest-core.sh
tests/test-summary-view.sh

index ae7f381f817b6fac4209710972b2045ddfcdcd72..d1d3bbdfeaa47571bc45d4bbe75fafb3edc56aa3 100644 (file)
@@ -85,6 +85,13 @@ assert_file_has_content () {
     fi
 }
 
+assert_file_has_content_literal () {
+    if ! grep -q -F -e "$2" "$1"; then
+        sed -e 's/^/# /' < "$1" >&2
+        fatal "File '$1' doesn't match fixed string list '$2'"
+    fi
+}
+
 assert_symlink_has_content () {
     if ! test -L "$1"; then
         echo 1>&2 "File '$1' is not a symbolic link"
index afaa5856b64739c2a8538a984dc07bbdfaf1a20b..6dcfd0883c0529051e70eded06c034260584d0a5 100755 (executable)
@@ -47,20 +47,18 @@ ${CMD_PREFIX} ostree --repo=repo pull --mirror origin
 
 # Check the summary file exists in the checkout, and can be viewed.
 assert_has_file repo/summary
-output=$(${OSTREE} summary --view)
-echo "$output" | sed -e 's/^/# /'
-echo "$output" | grep --quiet --no-messages "* main"
-echo "$output" | grep --quiet --no-messages "* other"
-echo "$output" | grep --quiet --no-messages "ostree.summary.last-modified"
-echo "$output" | grep --quiet --no-messages "Static Deltas (ostree.static-deltas): {}"
+${OSTREE} summary --view > summary.txt
+assert_file_has_content_literal summary.txt "* main"
+assert_file_has_content_literal summary.txt "* other"
+assert_file_has_content_literal summary.txt "ostree.summary.last-modified"
+assert_file_has_content_literal summary.txt "Static Deltas (ostree.static-deltas): {}"
 echo "ok view summary"
 
 # Check the summary can be viewed raw too.
-raw_output=$(${OSTREE} summary --view --raw)
-echo "$raw_output" | sed -e 's/^/# /'
-echo "$raw_output" | grep --quiet --no-messages "('main', ("
-echo "$raw_output" | grep --quiet --no-messages "('other', ("
-echo "$raw_output" | grep --quiet --no-messages "{'ostree.summary.last-modified': <uint64"
+${OSTREE} summary --view --raw > raw-summary.txt
+assert_file_has_content_literal raw-summary.txt "('main', ("
+assert_file_has_content_literal raw-summary.txt "('other', ("
+assert_file_has_content_literal raw-summary.txt "{'ostree.summary.last-modified': <uint64"
 echo "ok view summary raw"
 
 libtest_cleanup_gpg